x86, hvm: Make host TscInvariant CPUID flag visible to guest by default.
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Nov 2009 18:54:27 +0000 (18:54 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 9 Nov 2009 18:54:27 +0000 (18:54 +0000)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
tools/libxc/xc_cpuid_x86.c

index 90fab3906c4eac1a6da90481db9f45eca5e93bac..7a5ec1910b5a766e42a8c60283f4c61178227eda 100644 (file)
@@ -224,6 +224,14 @@ static void xc_cpuid_hvm_policy(
             clear_bit(X86_FEATURE_NX, regs[3]);
         break;
 
+    case 0x80000007:
+        /*
+         * Keep only TSCInvariant. This may be cleared by the hypervisor
+         * depending on guest TSC and migration settings.
+         */
+        regs[0] = regs[1] = regs[2] = 0;
+        regs[3] &= 1u<<8;
+        break;
 
     case 0x80000008:
         regs[0] &= 0x0000ffffu;